$(function() {

	var oTable = new TableInit();
	oTable.Init();
	$("#btn_query").click(function () {
		$('#tb_warningPerson').bootstrapTable('getOptions').pageNumber = 1;
		$('#tb_warningPerson').bootstrapTable('refresh');
	});
	$("#loginAccount").html('');
	 $('#loginAccount').selectpicker({
			size:10
		});
	 $.ajax({
		 	url:'/zhgl-jzstyxx-manage/warningPerson/getAccount',
			dataType:'json',
			success:function(data){
				if(data!=null){
					$("#loginAccount").append("<option value=''>请选择</option>");
					for(var i=0;i<data.length;i++){
						$("#loginAccount").append("<option value='"+data[i].name+"'>"+data[i].name+"</option>");
					}
				}
				$('#loginAccount').selectpicker('refresh');
			}
		});
	 	$("#loginAccount1").html('');
	 	$('#loginAccount1').selectpicker('refresh');
		$('#loginAccount1').selectpicker({
			size:10
		});
});

var TableInit = function() {
	var oTableInit = new Object();

	oTableInit.Init = function() {

		$("#tb_warningPerson").bootstrapTable({
			url : '/zhgl-jzstyxx-manage/warningPerson/getWarningPerson',// 请求后台参数
			method : 'post', // 请求方式（*）
			toolbar : '#toolbar', // 工具按钮用哪个容器
			dataType : 'json',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			singleSelect : false, // 单选CheckBox
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 20, 30 ], // 可供选择的每页的行数（*）
			strictSearch : true,
			clickToSelect : true, // 是否启用点击选中行
			// height: 550, //行高，如果没有设置height属性，表格自动根据记录条数决定表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			cardView : false, // 是否显示详细视图
			rowStyle : function rowStyle(row, index) {
				return {
					css : {
						"font-size" : "14px",
						"height" : "15px",
						"line-height" : 1
					}
				};
			},
			detailView : false, // 是否显示父子表
			columns : [ {
				checkbox : true,
				width:'2%'
			}, {
				field : 'id',
				title : '序号',
				align : 'center',
				width:'6%',
				formatter : function(value, row, index) {
					var pageSize=$('#tb_warningPerson').bootstrapTable('getOptions').pageSize;//通过表的#id可以得到每页多少条
					var pageNumber=$('#tb_warningPerson').bootstrapTable('getOptions').pageNumber;//通过表的#id可以得到当前第几页
					return pageSize*(pageNumber-1)+index+1;
				}
			},   {
				field : 'loginAccount',
				title : '账号',
				align : 'center',
				width : '12%'
			},{
				field : 'principal',
				title : '负责人',
				align : 'center',
				width : '12%'
			},  {
				field : 'principalContact',
				title : '联系电话',
				align : 'center',
				width : '12%'
			},  {
				field : 'principalEmail',
				title : '邮箱',
				align : 'center',
				width : '12%'
			}
			]
		});
	};
	//得到查询的参数
	oTableInit.queryParams = function (params) {
		temp = {   
				limit: params.limit,   
				offset: params.offset,  
				principal: $("#principal").val(),
				loginAccount:$("#loginAccount option:selected").text(),
		};
		return temp;
	};

	return oTableInit;
}

function loginAccount2(){
	$("#loginAccount1").html("");
	$('#loginAccount1').selectpicker('refresh');
	 $.ajax({
		 	url:'/zhgl-jzstyxx-manage/warningPerson/getAccount',
			dataType:'json',
			async:false,
			success:function(data){
				if(data!=null){ 
					$("#loginAccount1").append("<option value=''>请选择</option>");
					for(var i=0;i<data.length;i++){
						$("#loginAccount1").append("<option value='"+data[i].name+"'>"+data[i].name+"</option>");
					}
				}
				$('#loginAccount1').selectpicker('refresh');
			}
		});
}
//新增修改重置
function reset(){	
	$('#loginAccount1').removeAttr("onChange")
	$('#addOrEditModal .bootstrap-select button').css("border-color","rgb(204,204,204)");
	$("#principal1").val("");
	$("#principalContact").val("");
	$("#principalEmail").val("");
	validform().resetForm();
	$(".error").removeClass("error");
}
//新增
function Add(){	
	loginAccount2();
	reset();
	$("#cId").val("");
	$("#myModalLabel").text("新增")
	$("#loginAccount1-error").remove();
	$("#addOrEditModal").modal('show');
}
//修改页面
function editById(){
	loginAccount2();
	reset();
	$('#loginAccount1').removeAttr("onChange")
	var url = "/zhgl-jzstyxx-manage/warningPerson/getById";
	var arr = $('#tb_warningPerson').bootstrapTable('getSelections');
	if(arr.length==0){
		window.wxc.xcConfirm("请选择需要操作的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2),
		})
	}else if(arr.length>1){
		window.wxc.xcConfirm("只能选择单条数据进行操作！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2),
		});
	}else{
		$("#myModalLabel").text("修改")
		$("#addOrEditModal").modal('show');
		
		$.post(url,{"id":arr[0].id},function(warningPerson){
			$("#cId").val(warningPerson.id);
			$("#principal1").val(warningPerson.principal);
			$("#principalContact").val(warningPerson.principalContact);
			$("#principalEmail").val(warningPerson.principalEmail);
			$("#loginAccount1").val(warningPerson.loginAccount);
			$('#loginAccount1').selectpicker('refresh');
		})

	}
}
function loginAccount(){
	var value= $("#loginAccount1").val();
	var a=document.getElementById("loginAccount1-error");
	if(a){
		if(value!=""){
			$('button[data-id="loginAccount1"]').css("border-color","rgb(204,204,204)");
			$("#loginAccount1-error").css("display","none")
		}else{
			$('button[data-id="loginAccount1"]').css("boder","1px solid");
			$('button[data-id="loginAccount1"]').css("border-color","red");
			$("#loginAccount1-error").css("display","inline-block")
		}
	}
}
//保存
function saveAddOrEdit(){
	$("#loginAccount1").attr("onChange","loginAccount()");
	$("#loginAccount1").selectpicker("refresh");
	if (validform().form()) {
		var cId = $("#cId").val();
		var principal = $("#principal1").val();
		var principalContact = $("#principalContact").val();
		var principalEmail=$("#principalEmail").val();
		var loginAccount=$("#loginAccount1 option:selected").text();
		var datapost = {
				"id":cId,
				"principal":principal,
				"principalContact":principalContact,
				"principalEmail":principalEmail,
				"loginAccount":loginAccount
		}
		var url;
		if(cId!=""){
			url ="/zhgl-jzstyxx-manage/warningPerson/changeWarningPerson";
		}else{
			url="/zhgl-jzstyxx-manage/warningPerson/addWarningPerson"
		}
		$.ajax({
			url:url,
			data:datapost,
			type:"POST",
			dataType:"json",
			success:function(result){
				if(result.state==200){
					window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
						title: "提示",
						btn: parseInt("0001",2), //确定按钮
					});
				}else if(result.state==400){
					window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
						title: "提示",
						btn: parseInt("0001",2),
					});
				}
				$('#tb_warningPerson').bootstrapTable('refresh');
				$("#addOrEditModal").modal('hide');
			}
		})
	}
}
//删除
function deleteByIds(){
	var arr = $("#tb_warningPerson").bootstrapTable('getSelections');
	var dataNum = arr.length;

	if (arr.length == 0) {
		window.wxc.xcConfirm("请选择你要删除的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn: parseInt("0001",2),
		});
	} else {
		var ids = "";
		for(var a = 0; a<arr.length; a++) {
			ids+=arr[a].id+",";
		}
		ids=ids.substring(0,ids.length-1);
		var url = '/zhgl-jzstyxx-manage/warningPerson/deleteByIds';
		window.wxc.xcConfirm("确认删除吗？", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			onOk:  function(){
				$.ajax({
					type: 'POST',
					url: url,
					data:{'ids':ids},
					success: function (result) {
						if(result.state==200){
							window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
								title: "提示",
								btn: parseInt("0001",2),
							}); 
							$('#tb_warningPerson').bootstrapTable('refresh');
						}else if(result.state==400){
							window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
								title: "提示",
								btn: parseInt("0001",2),						
							}); 
							$('#tb_warningPerson').bootstrapTable('refresh');
						}
						
					}
				})	
			}
		})
	}
}
//校验
function validform() {
	return $("#addOrEdit").validate({
		rules: {
			principal1:{
				required:true,
				maxlength:16,
				stringCheck:true,
			},
			principalContact: {
				required: true,
				maxlength:500,
				isMobile:true,
			},
			principalEmail: {
				required: true,
				maxlength:500,
				email:true,
			},
			loginAccount1:{
				judgenull:true
			}

		},
		messages: {
			principal1:{
				required:"负责人不能为空",
				maxlength:"最多输入16位",
				stringCheck:jQuery.validator.addMethod("stringCheck", function(value, element) {
					var all= /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
					return this.optional(element) || all.test(value);       
				}, "负责人不能有特殊字符"),
			},
			principalContact: {
				required:"电话不能为空",
				maxlength:"最多输入500位",
				isMobile:jQuery.validator.addMethod("isMobile", function(value, element) {
					var length = value.length;
					var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
					return this.optional(element) || (length == 11 && mobile.test(value));
				}, "请填正确联系电话")
			},
			principalEmail: {
				required:"邮箱不能为空",
				maxlength:"最多输入500位",
				email:"请输入正确邮箱"
			},
			loginAccount1:{
				judgenull:jQuery.validator.addMethod("judgenull", function(value, element) {
					if(value==""){
						$('button[data-id="loginAccount1"]').css("boder","1px solid");
						$('button[data-id="loginAccount1"]').css("border-color","red");					
					}
					return value!=""
				},"账号不能为空")
			}
		}
	})
}

